Finite State Machines -- Game Programming Concepts Series